9 research outputs found
An Efficient Algorithm for Monitoring Practical TPTL Specifications
We provide a dynamic programming algorithm for the monitoring of a fragment
of Timed Propositional Temporal Logic (TPTL) specifications. This fragment of
TPTL, which is more expressive than Metric Temporal Logic, is characterized by
independent time variables which enable the elicitation of complex real-time
requirements. For this fragment, we provide an efficient polynomial time
algorithm for off-line monitoring of finite traces. Finally, we provide
experimental results on a prototype implementation of our tool in order to
demonstrate the feasibility of using our tool in practical applications
Mining Assumptions for Software Components using Machine Learning
Software verification approaches aim to check a software component under analysis for all possible environments. In reality, however, components are expected to operate within a larger system and are required to satisfy their requirements only when their inputs are constrained by environment assumptions. In this paper, we propose EPIcuRus, an approach to automatically synthesize environment assumptions for a component under analysis (i.e., conditions on the component inputs under which the component is guaranteed to satisfy its requirements). EPIcuRus combines search-based testing, machine learning and model checking. The core of EPIcuRus is a decision tree algorithm that infers environment assumptions from a set of test results including test cases and their verdicts. The test cases are generated using search-based testing, and the assumptions inferred by decision trees are validated through model checking. In order to improve the efficiency and effectiveness of the assumption generation process, we propose a novel test case generation technique, namely Important Features Boundary Test (IFBT), that guides the test generation based on the feedback produced by machine learning. We evaluated EPIcuRus by assessing its effectiveness in computing assumptions on a set of study subjects that include 18 requirements of four industrial models. We show that, for each of the 18 requirements, EPIcuRus was able to compute an assumption to ensure the satisfaction of that requirement, and further, â78% of these assumptions were computed in one hour